package com.laviedesfons.jhmtasc.types.models;

import com.laviedesfons.jhmtasc.annotations.binding.MFlaggedField;
import com.laviedesfons.jhmtasc.annotations.binding.MFlaggedType;
import com.laviedesfons.jhmtasc.types.abstracts.Closure;
import com.laviedesfons.jhmtasc.types.internals.PInt;
import com.laviedesfons.jhmtasc.types.internals.PList;
import com.laviedesfons.jhmtasc.types.internals.PString;

/**
 * TODO use MField only, in the context of a closure, the flag should be deduced...
 * @author Romano
 */
@MFlaggedType(flag = "AFunction",parent=Action.class)
public class FunctionDecl extends Closure {
    @MFlaggedField(flag="name")
    static PString name;

    @MFlaggedField(flag="args")
    static PList<PString> args;

    @MFlaggedField(flag="codelen")
    static PInt codelen;
}
